﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Sistema_Totem.Clases;
using Sistema_Totem.Presentacion.Contrato.Requerimientos;
using Sistema_Totem.Presentacion.Presentador.Requerimientos;
using System.Web.SessionState;

namespace Sistema_Totem.Vista.Requerimientos
{
    public partial class AgregarRequerimiento1 : System.Web.UI.Page,
        IContratoAgregarRequerimiento
    {
        #region Atributos
        /// <summary>
        /// Instancia del Presentador Agregar Requerimiento.
        /// </summary>
            private PresentadorAgregarRequerimiento _presentador;

        #endregion Atributos
        
        /// <summary>
        /// Metodo de inicio "Page_Load".
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Sesion["usuario"] == null || Sesion["proyecto"] == null || (Sesion["usuario"] as Usuario).TipoUsuario == "Administrador")
                Response.Redirect("../Login/login.aspx");
            else
            {  
                if (!IsPostBack)
                {
                    // incializamos el presentador
                    _presentador = new PresentadorAgregarRequerimiento(this);
                    // guardamos la lista en una variable session
                    Session["ListaElementos"] = _presentador.BuscarPLantillaPredeterminada();
                    // colocamos por defecto la grilla del NOMBRE chequeada
                    _presentador.ColocarPorDefectoNombreRequerimiento();
                }
            }
        }

        #region Implementación IContratoAgregarRequerimiento
            /// <summary>
            /// Implementación del método para cargar 
            /// el gridview de secciones del documento
            /// </summary>
            public GridView GVAgregarRequerimientoSecciones
            {
                get { return GridViewRequerimiento_secciones; }
            }

            /// <summary>
            /// Implementación del método MensajeError.
            /// </summary>
            public Label MensajeError
            {
                get { return mensaje; }
                
            }

            /// <summary>
            /// Implementacion del metodo Sesion
            /// </summary>
            public HttpSessionState Sesion
            {
                get { return Session; }
            }

        #endregion

            //Metodo que se activa al presionar el boton "Aceptar" y lleva al
            //metodo AgregarSalon que esta en el presentador 
            protected void siguiente_Click(object sender, EventArgs e)
            {
                _presentador = new PresentadorAgregarRequerimiento(this);
                // llamamos y asignamos los valores escogidos por el usuario
                Session["listaElemento"] = _presentador.SeleccionSiguienteVentana((Requerimiento)Session["ListaElementos"]);
                // redireccionamos a la siguente interfaz grafica
                Response.Redirect("../Requerimientos/AgregarRequerimiento2.aspx");
            }

    }
}